package uade.distribuidas.server.manager;

import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
import java.util.ArrayList;
import java.util.List;

import uade.distribuidas.repo.dto.OrdenPedidoDTO;
import uade.distribuidas.repo.exception.ExceptionOrdenPedido;
import uade.distribuidas.repo.interfaces.ManagerOrdenesPedidoIf;
import uade.distribuidas.server.dao.OrdenesPedidoDAO;
import uade.distribuidas.server.domain.OrdenPedido;



public class ManagerOrdenesPedido extends UnicastRemoteObject implements ManagerOrdenesPedidoIf {
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;


	public ManagerOrdenesPedido() throws RemoteException {
		super();
		// TODO Auto-generated constructor stub
	}

	
	
	public List<OrdenPedidoDTO> getPedidos() throws ExceptionOrdenPedido{
		List<OrdenPedidoDTO> datos = new ArrayList<OrdenPedidoDTO>();
		for(OrdenPedido c : OrdenesPedidoDAO.getInstancia().getPedidos()){
			datos.add(c.getVista());
		}
		return datos;
		
	}

	public OrdenPedidoDTO getPedido(Integer id) throws ExceptionOrdenPedido {
		return OrdenesPedidoDAO.getInstancia().getPedido(id).getVista();
	}
	
	public OrdenPedidoDTO getPedidoPorNumero(String numeroPedido) throws ExceptionOrdenPedido {
		return OrdenesPedidoDAO.getInstancia().getPedidoPorNumero(numeroPedido).getVista();
	}
	
	public OrdenPedidoDTO save(OrdenPedidoDTO p) throws ExceptionOrdenPedido {
		OrdenPedido clase=null;
		return OrdenesPedidoDAO.getInstancia().save(clase).getVista();
	}

	

}
